Geographic information systems provide for the archiving, retrieving, and manipulating of data that has been stored and indexed according to geographic coordinates of its elements. A geographic information system can be used for storing, manipulating, and displaying a three-dimensional model. The three-dimensional model can include satellite images texture mapped to geometry (e.g. terrain, buildings, structures, and other objects). A virtual camera can be used to navigate through the three-dimensional model. The virtual camera defines what portion of the three-dimensional model to display to a user.
The three-dimensional model can have any number of level-of-detail (LOD) representations that can be used to increase or decrease the complexity/resolution of the three-dimensional model as the virtual camera moves closer to or farther from the model. To facilitate processing, the geometry and other data associated with the model can be spatially partitioned into manageable pieces (e.g. geospatial data objects such volumes or other objects) for fetching and rendering data associated only with the visible portion of the model. The data objects can be arranged in a hierarchical tree data structure, such as a quadtree or octree data structure, to facilitate fetching, culling, and LOD management of the data.
High resolution geometry can be provided or substituted in certain portions of the model to produce a more realistic model. For example, high resolution geometry associated with an object such as a tree, fire hydrant, building front, or other object can be substituted into a lower resolution scene of a street. Problems can arise in storing higher resolution geometry in the hierarchical tree data structure such that the higher resolution geometry matches seamlessly with adjacent lower resolution geometry. In addition, the higher resolution geometry may not have been partitioned consistently with the spatial partitioning scheme of the three-dimensional model, resulting in some portions of the higher resolution geometry occupying only a portion of the spatial extent associated with a node in the hierarchical tree data structure.